// pages/find/find/add/index.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //普通分类
    group_list:[
      {id:0,name:'==请选择分类=='}
    ],
    //业态分类
    groupbus_list:[
      {id:0,name:'==请选择分类=='}
    ],

    //部门选择器
    branch_list:[
      {id:0,name:'==请选择分类=='}
    ],

    group_index:0,//分类索引信息
    groupbus_index:0,//业态分类索引ID
    to_branch_id:0,//部门ID

    showImgbtn:1,//展示增加图片的按钮
    info:{
      title:'',//标题信息
      content:'',//内容信息
      images:[],//这是关于图册信息的列表信息，每一个里面包含三个参数，类型type,缩略图thumb_url，资源链接res_url
    },

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    app.kuoqi.initPage(this,options);//基础的数据初始化
    this.setData(options);
  },

  //作为时间插件测试
  debugTime:function(){
    this.setData({
      mask_is_choose_datatime:true,
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
      //拉取分类列表信息
      this.reloadFindgroup();
      //拉取
      this.reloadFindBusgroup();
      //拉取已经有的部门列表
      this.reloadUnitBranchs();
  },

  //获取基础的发现单信息
  resetInfo:function(){
    var ths = this;
    ths.setData(
      {
        info:
        {
          title:'',
          content:'',
          images : [],
        },
        showImgbtn:1,//展示图片
        group_index:0,//分类索引信息
        groupbus_index:0,//业态分类索引ID
        to_branch_id:0,//部门ID
      }
    );
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
    //this.loadInfo();//加载基础的数据信息
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  //重置分类列表信息
  reloadFindgroup:function(){
    var ths = this;
    app.kuoqi.ajax({
      url:'/api/Find/Group',
      method:'post',
      success:function(rs){
        if(rs.status){
          ths.setData({group_list:rs.data});
        }else{
          console.log(rs.message);
        }
      },
      error:function(){
        console.log('发现分类类别信息获取失败');
      },
    })
  },
  //重置业态分类列表信息
  reloadFindBusgroup:function(){
    var ths = this;
    app.kuoqi.ajax({
      url:'/api/Find/BusGroup',
      method:'post',
      success:function(rs){
        if(rs.status){
          ths.setData({groupbus_list:rs.data});
        }else{
          console.log(rs.message);
        }
      },
      error:function(){
        console.log('发现分类类别信息获取失败');
      },
    })
  },
  
  //获取部门分类
  reloadUnitBranchs:function(){
    var ths = this;
    app.kuoqi.ajax({
      url:'/api/Unit/Branchs',
      method:'post',
      success:function(rs){
        if(rs.status){
          ths.setData({branch_list:rs.data});
        }else{
          console.log(rs.message);
        }
      },
      error:function(){
        console.log('发现分类类别信息获取失败');
      },
    })
  },

  //分类类别切换
  doGroupChange:function(e){
    this.setData({
      group_index: e.detail.value
    })
  },

  //业态分类切换
  doGroupbusChange:function(e){
    this.setData({
      groupbus_index: e.detail.value
    })
  },

  //doBranchList
  doBranchList:function(e){
    this.setData({
      to_branch_id: e.detail.value
    })
  },

  //表单提交
  doFormSubmit:function(e){
    var ths = this;
    var formdata = e.detail.value;
    formdata.images = JSON.stringify(this.data.info.images);
    if(formdata){
      app.kuoqi.ajax({
        url:'/api/find/add',
        method:'post',
        data:formdata,
        success:function(rs){
          if(rs.status==1){
            //提交成功，然后开始跳转到列表
            ths.resetInfo();
            wx.switchTab({
              url: '/pages/find/work/flows/index',
            })
          }else{
            wx.showModal({
              content:rs.message,
              cancelColor: 'cancelColor',
              showCancel:false,
            })
          }
        },
        error:function(){
          console.log('发现增加失败');
        }
      });
    }else{
      console.log('表单无提交');
    }
  },

  //checkUploadimg,尝试删除当前图片或者视频信息
  checkUploadimg:function(e){
    var ths = this;
    var index = e.target.dataset.index;
    var showImgbtn = this.data.showImgbtn;
    console.log(e.target.dataset,index);
    wx.showModal({
      content:"确定删除这个图片或者视频吗？",
      cancelColor: 'cancelColor',
      complete:function(rs){
        if(rs.cancel==true){ return;}
        var info = ths.data.info;
        var brr = [];
        for(var i = 0;i<info.images.length;i++){
            if(i!=index){
                brr.push(info.images[i]);
            }
        }
        info.images = brr;
        if(brr.length<4){
            showImgbtn = 1;
        }
        ths.setData({info:info,showImgbtn:showImgbtn});
      },
    })
  },

  //将标题的信息写入到里面
  inputTitle:function(e){
      this.data.info.title = e.detail.value;
  },
  //重置发现描述信息
  inputConts:function(e){
    this.data.info.content = e.detail.value;
  },

  //上传文件
  uploadFiles:function(){
    var ths = this;
    //触发拍照或者选取图片
    wx.chooseMedia({
        count:4,//最多可以选择的文件数
        mediaType:'mix',//	可同时选择图片和视频
        sourceType:['album', 'camera'],//
        maxDuration:30,//30s的视频拍摄时间
        sizeType:'compressed',//['original', 'compressed']
        success:function(mediars){
            //配置文件列表
            var kuploader = new app.kuoqi.uploader({
                files:mediars.tempFiles
            });
            //执行上传所有文件的方式
            kuploader.onUploadFinish = function(buffers){
                var info = ths.data.info;
                var imagelen = info.images.length;
                imagelen = parseInt(imagelen);
                for(let item =0 ;item<buffers.length;item++){
                    if(imagelen>=4){
                        ths.setData({showImgbtn:0});
                        break;
                    }
                    info.images.push(buffers[item]);
                        imagelen++;
                        if(imagelen>=4){
                            ths.setData({showImgbtn:0});
                        }
                }
                ths.setData({info:info});           
             }
            kuploader.uploadAll();
        },
        fail:function(){},
        complete:function(){},
    })
  },
})